Greetings,
for(i = 0; i<noElems(lstUser);i++){
if(selected(lstUser,i)){
string uName = get(lstUser)
User u = find(uName)
if(existsUser(u)){
loadDirectory()
string error = deleteUser(u)
saveDirectory()
if((null error)&&(!existsUser(uName))){
infoBox uName" has been deleted permanently."
}
else{
ack "User not deleted: " error
}
}
}
SystemAdmin - Mon Oct 11 09:47:17 EDT 2010 |
Re: Delete Multiple User Issue
This part looks bad:
for UserName in lstUser do
{...
string loadUserRecord_(User,bool) string loadUserRecord(User) string ensureUserRecordLoaded(User) string saveUserRecord(User)
|
Re: Delete Multiple User Issue llandale - Thu Oct 14 16:11:49 EDT 2010
This part looks bad:
for UserName in lstUser do
{...
string loadUserRecord_(User,bool) string loadUserRecord(User) string ensureUserRecordLoaded(User) string saveUserRecord(User)
This one helped just ok. I did not use the multiple selection, but all I need know is to be able to delete multiple users from using a single DB.
//Delete User Example
string lstArray [] = {}
DB userInfo
DBE lstUser, btnDeleteUser
User u
string uName
string mName = "/DOORS Admin/Users Log/Users Log"
//Module usersModule = edit(mName, false)
string dbName = getDatabaseName()
Skip uList
Skip inUsers
void getList (){
int i = 0
int j
int pbNum = 0
uList = createString()
for u in userList do {
uName = u.name
put(uList, uName, uName)
}
deleteColumn(lstUser, 0)
for uName in uList do{
u = find(uName)
bool isDisabled = u.disabled
if(!isDisabled) {
insert(lstUser, i++, uName, iconUser)
}
else{
insert(lstUser, i++, uName, iconUserDisabled)
}
}
insertColumn(lstUser, 0, "Username", 150, iconNone)
}// End GetList Function (Actual User in Database)
void delUser(DBE Elem){
{
string uName = get(lstUser)
string uGroups
lastPos = get(lstUser)
User u = find(uName)
uName = u.name
if(existsUser(uName)){
if(confirm("Are you sure you want to delete '" uName "' ?")){
if(confirm("Deleting an user is irreversible.\nAre you sure you want to delete '"uName"' ?")){
/*current = usersModule
Object o
Filter f1 = attribute"Username"==uName
set f1
filtering on
o = current
if(!null o){
o."Active (T/F)" = "False"
o."Deletion Date" = today()
//Reason for Deletion Message Box
string options[] = {"Termination", "Inactivity"}
int ans = messageBox("Select Reason for Deletion", options, msgInfo)
o."Reason" = options[ans]
Group g
Buffer temp = create(1)
for g in groupList do{
if(member(g, u)){
uGroups = g.name
temp += uGroups"\n"
}
}
o."Groups" = temp""
save(usersModule)
refresh(usersModule)
}
else if(!confirm("User not found in log.\nDo you want to continue with deletion?")){
return
}*/
loadDirectory()
ensureUserRecordLoaded(u)
string error = deleteUser(u)
saveDirectory()
empty(lstUser)
getList()
if((null error)&&(!existsUser(uName))){
infoBox uName" has been deleted permanently."
}
else{
ack "User not deleted: " error
/*o."Active (T/F)" = "True"
o."Deletion Date" = ""
o."Reason" = ""
save(usersModule)
refresh(usersModule)*/
}
}
else {
ack"Abort Deletion"
halt
}
}
else {
ack"Abort Deletion"
halt
}
}
else {
infoBox"User Not found"
}
}
flushDeletions()
} // End Delete User
userInfo = create("Manage Users Tool - " dbName" v. 1.0", styleCentered|styleFixed)
lstUser = listView(userInfo, listViewOptionMultiselect|listViewOptionSortText, 625, 10, lstArray)
btnDeleteUser = button(userInfo, "Delete User", delUser)
realize(userInfo)
getList()
show(userInfo)
|
Re: Delete Multiple User Issue SystemAdmin - Thu Oct 14 16:57:02 EDT 2010
This one helped just ok. I did not use the multiple selection, but all I need know is to be able to delete multiple users from using a single DB.
//Delete User Example
string lstArray [] = {}
DB userInfo
DBE lstUser, btnDeleteUser
User u
string uName
string mName = "/DOORS Admin/Users Log/Users Log"
//Module usersModule = edit(mName, false)
string dbName = getDatabaseName()
Skip uList
Skip inUsers
void getList (){
int i = 0
int j
int pbNum = 0
uList = createString()
for u in userList do {
uName = u.name
put(uList, uName, uName)
}
deleteColumn(lstUser, 0)
for uName in uList do{
u = find(uName)
bool isDisabled = u.disabled
if(!isDisabled) {
insert(lstUser, i++, uName, iconUser)
}
else{
insert(lstUser, i++, uName, iconUserDisabled)
}
}
insertColumn(lstUser, 0, "Username", 150, iconNone)
}// End GetList Function (Actual User in Database)
void delUser(DBE Elem){
{
string uName = get(lstUser)
string uGroups
lastPos = get(lstUser)
User u = find(uName)
uName = u.name
if(existsUser(uName)){
if(confirm("Are you sure you want to delete '" uName "' ?")){
if(confirm("Deleting an user is irreversible.\nAre you sure you want to delete '"uName"' ?")){
/*current = usersModule
Object o
Filter f1 = attribute"Username"==uName
set f1
filtering on
o = current
if(!null o){
o."Active (T/F)" = "False"
o."Deletion Date" = today()
//Reason for Deletion Message Box
string options[] = {"Termination", "Inactivity"}
int ans = messageBox("Select Reason for Deletion", options, msgInfo)
o."Reason" = options[ans]
Group g
Buffer temp = create(1)
for g in groupList do{
if(member(g, u)){
uGroups = g.name
temp += uGroups"\n"
}
}
o."Groups" = temp""
save(usersModule)
refresh(usersModule)
}
else if(!confirm("User not found in log.\nDo you want to continue with deletion?")){
return
}*/
loadDirectory()
ensureUserRecordLoaded(u)
string error = deleteUser(u)
saveDirectory()
empty(lstUser)
getList()
if((null error)&&(!existsUser(uName))){
infoBox uName" has been deleted permanently."
}
else{
ack "User not deleted: " error
/*o."Active (T/F)" = "True"
o."Deletion Date" = ""
o."Reason" = ""
save(usersModule)
refresh(usersModule)*/
}
}
else {
ack"Abort Deletion"
halt
}
}
else {
ack"Abort Deletion"
halt
}
}
else {
infoBox"User Not found"
}
}
flushDeletions()
} // End Delete User
userInfo = create("Manage Users Tool - " dbName" v. 1.0", styleCentered|styleFixed)
lstUser = listView(userInfo, listViewOptionMultiselect|listViewOptionSortText, 625, 10, lstArray)
btnDeleteUser = button(userInfo, "Delete User", delUser)
realize(userInfo)
getList()
show(userInfo)
Remove the following from the code loadDirectory() flushDeletions()
|